package com.lg.cms.service;

import com.baomidou.mybatisplus.extension.api.R;
import com.lg.cms.dto.PermissionDTO;
import com.lg.cms.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lg.cms.vo.admin.PermissionVO;

import java.util.List;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author lg
 * @since 2020-09-21
 */
public interface RoleService extends IService<Role> {


    /**
     * 批量删除角色, 并且删除当前角色所有权限
     * @param roleIdArray
     * @return R
     */
    R<?> deleteRolePermission(int[] roleIdArray);

    /**
     * 获取角色权限权限列表
     * @return
     * 权限树结构
     * 带有角色是否有此权限的标识
     * 有标识就选中
     */
    List<PermissionVO> listPermissionByRoleId(Integer roleId);

    /**
     * 设置, 更新角色权限
     * @param roleId
     * @param permissionIdArray
     * @return
     */
    R<?> updatePermissionByRoleId(Integer roleId, int[] permissionIdArray);
}
